package com.example.demo.service;

import com.example.demo.entity.Account;
import com.example.demo.util.PageWrapper;

import java.io.UnsupportedEncodingException;
import java.util.Map;

/**
 * 账号表(Account)表服务实现类
 *
 * @author makejava
 * @since 2020-12-09 00:39:55
 */
public interface AccountService {

    /**
     * 保存数据
     *
     * @param userId  用户ID
     * @param account 实例对象
     * @return 是否成功
     */
    int save(Integer userId, Account account);

    /**
     * 新增数据
     *
     * @param userId  用户ID
     * @param account 实例对象
     * @return 是否成功
     */
    int insert(Integer userId, Account account);

    /**
     * 通过主键删除数据
     *
     * @param userId 用户ID
     * @param id     主键
     * @return 是否成功
     */
    int delete(Integer userId, Integer id);

    /**
     * 修改数据
     *
     * @param userId  用户ID
     * @param account 实例对象
     * @return 是否成功
     */
    int update(Integer userId, Account account);

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Account queryById(Integer id);

    /**
     * 查询多条数据
     *
     * @param userId  用户ID
     * @param account 查询条数
     * @return 对象列表
     */
    PageWrapper<Account> list(Integer userId, Account account);

    void start(int rateType);

    void start(Account account, Map<String, String> map);
}